package com.chinacoal.microservice.pojo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.stereotype.Component;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * @author zhuliang
 * @version V1.0
 * @Description: 运维管理-设备管理
 * @date 2020-11-16 17：53
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "运维管理-设备管理")
@Component
public class CcmsSmartleasingDeviceManagement implements Serializable {

    @ApiModelProperty(value = "主键id")
    @TableId(value = "pk_device_management_id")
    private String pkDeviceManagementId;

    @ApiModelProperty(value = "创建人")
    private Integer createdBy;

    @ApiModelProperty(value = "创建时间")
    private Date creationDate;

    @ApiModelProperty(value = "最后变更人")
    private Integer lastUpdatedBy;

    @ApiModelProperty(value = "最后变更时间")
    private Date lastUpdateDate;

    @ApiModelProperty(value = "删除标记,默认为'false'")
    private Byte deleteSign;

    @ApiModelProperty(value = "设备类型，外键id")
    private String fkEquipmentTypeId;

    @ApiModelProperty(value = "所属区域(房间id或公共区域)")
    private String region;

    @ApiModelProperty(value = "设备名称")
    private String equipmentName;

    @ApiModelProperty(value = "设备序列号")
    private String equipmentSerialNumber;

    @ApiModelProperty(value = "设备ip地址")
    private String deviceIpAddress;

    @ApiModelProperty(value = "设备品牌")
    private String brand;

    @ApiModelProperty(value = "楼宇，外键id")
    private String fkBuildingId;

    @ApiModelProperty(value = "第三方设备id")
    private String thirdPartyDeviceId;

    @ApiModelProperty(value = "设备云丁的home_id")
    private String fkYundingHomeId;

    @ApiModelProperty(value = "设备云丁的room_id")
    private String fkYundingRoomId;

    @ApiModelProperty(value = "设备云丁读数")
    private BigDecimal deviceReadings;

    @ApiModelProperty(value = "第三方设备信息读取时间")
    private String readingTimeOfEquipment;

    @ApiModelProperty(value = "设备型号，外键id")
    private String fkEquipmentModelId;

    @ApiModelProperty(value = "设备状态，0正常，1故障，2报警,3故障和报警")
    private Byte deviceStatus;

    @ApiModelProperty(value = "温度值(单位0.01摄氏度)")
    private String temperatureValue;

    @ApiModelProperty(value = "湿度值(单位万分之一)")
    private String humidityValue;

    @ApiModelProperty(value = "大气气压(单位帕)")
    private String pressureValue;

    @ApiModelProperty(value = "线路")
    private Byte line;




    @ApiModelProperty(value = "所属区域名称")
    @TableField(exist = false)
    private String regionName;

    @ApiModelProperty(value = "楼宇名称")
    @TableField(exist = false)
    private String buildingName;

    @ApiModelProperty(value = "设备类型名称")
    @TableField(exist = false)
    private String equipmentTypeName;

    @ApiModelProperty(value = "线路状态信息,和温湿度传感器信息")
    @TableField(exist = false)
    private List<CcmsSmartleasingDeviceManagement> lineStatusData;

    @ApiModelProperty(value = "设备正常数")
    @TableField(exist = false)
    private String normalNumber;

    @ApiModelProperty(value = "设备故障数")
    @TableField(exist = false)
    private String failuresNumber;

    @ApiModelProperty(value = "设备报警数")
    @TableField(exist = false)
    private String alarmsNumber;

    @ApiModelProperty(value="设备型号名称")
    @TableField(exist = false)
    private String itemName;

    private static final long serialVersionUID = 1L;
}
